
INSERT INTO asm_contatori_non_letti_01 

select 'LIBERI' tipo_cont,co.codice_gruppo_bollettazione,
      substr(co.codice_stradale,6,4) blocco,
       co.codice_stradale giro, 
       CONCAT('IT018E',CONCAT(SUBSTR(CONCAT('000000000',CM.CODICE_ALLACCIAMENTO),-7,7),SUBSTR(CM.PROGRESSIVO_UTENZA,-1,1))) POD,
       co.codice_utente,
       co.CODICE_CONTRATTO,
       cm.DATA_MOVIMENTO data_ultima_lettura,
      cm.LETTURA ultima_lettura,
       cm.CODICE_MODELLO_CONTATORE,
       cm.MATRICOLA_CONTATORE,
       cm.PROGRESSIVO_MOVIMENTO,
       ut.CODICE_ALLACCIAMENTO,
       ut.PROGRESSIVO_UTENZA

from contatori_movimenti cm,utenze ut,contratti co
where
cm.codice_servizio='E'
and cm.codice_gestione='ASM'
and ut.codice_servizio='E'
and ut.codice_gestione='ASM'
and co.codice_servizio='E'
and co.codice_gestione='ASM'
and cm.data_movimento = (select max(data_movimento) from contatori_movimenti cm1
                                                                                                                  where   cm1.codice_servizio='E'
                                                                                                                    and cm1.codice_gestione='ASM'
                                                                                                                    and cm1.codice_allacciamento=cm.codice_allacciamento
                                                                                                                    and cm1.progressivo_utenza=cm.progressivo_utenza
                                                                                                                     and cm1.PROGRESSIVO_DIVISIONALE=cm.PROGRESSIVO_DIVISIONALE)
and  to_date(^data ultima lettura gg/mm/aaaa;A;ALFABETICO^^,'dd/mm/yyyy')  >=  ( select max(data_movimento) from contatori_movimenti cm1


                                                                                                                  where   cm1.codice_servizio='E'
                                                                                                                   and cm1.codice_gestione='ASM'
                                                                                                                   and cm1.codice_allacciamento=cm.codice_allacciamento
                                                                                                                   and cm1.progressivo_utenza=cm.progressivo_utenza
                                                                                                                   and cm1.PROGRESSIVO_DIVISIONALE=cm.PROGRESSIVO_DIVISIONALE)
 and cm.codice_allacciamento=ut.codice_allacciamento
 and cm.progressivo_utenza=ut.progressivo_utenza 
 and cm.PROGRESSIVO_DIVISIONALE=0
 and ut.CODICE_MODELLO_CONTATORE_1 <>'TM80'
 and ut.CODICE_MODELLO_CONTATORE_1 not like 'M%'
 and ut.CODICE_MODELLO_CONTATORE_1 not like 'RT%'
 and ut.CODICE_MODELLO_CONTATORE_1 <> ' '
 and co.stato_contratto ='A'
 and co.codice_contratto=ut.codice_contratto_corr
 
 
  UNION ALL
  
  
  
select 'TUTELA' tipo_cont,
        co.codice_gruppo_bollettazione,
      substr(co.codice_stradale,6,4) blocco,
       co.codice_stradale giro, 
       CONCAT('IT018E',CONCAT(SUBSTR(CONCAT('000000000',CM.CODICE_ALLACCIAMENTO),-7,7),SUBSTR(CM.PROGRESSIVO_UTENZA,-1,1))) POD,
       co.codice_utente,
       co.CODICE_CONTRATTO,
       cm.DATA_MOVIMENTO data_ultima_lettura,
       cm.LETTURA ultima_lettura,
       cm.CODICE_MODELLO_CONTATORE,
       cm.MATRICOLA_CONTATORE,
       cm.PROGRESSIVO_MOVIMENTO,
       ut.CODICE_ALLACCIAMENTO,
       ut.PROGRESSIVO_UTENZA

from db5.contatori_movimenti cm,db5.utenze ut,db5.contratti co
where
cm.codice_servizio='E'
and cm.codice_gestione='UNRG'
and ut.codice_servizio='E'
and ut.codice_gestione='UNRG'
and co.codice_servizio='E'
and co.codice_gestione='UNRG'
and cm.data_movimento = (select max(data_movimento) from db5.contatori_movimenti cm1
                                                                                                                  where   cm1.codice_servizio='E'
                                                                                                                    and cm1.codice_gestione='UNRG'
                                                                                                                    and cm1.codice_allacciamento=cm.codice_allacciamento
                                                                                                                    and cm1.progressivo_utenza=cm.progressivo_utenza
                                                                                                                     and cm1.PROGRESSIVO_DIVISIONALE=cm.PROGRESSIVO_DIVISIONALE)
and  to_date(^data ultima lettura gg/mm/aaaa;A;ALFABETICO;1^^,'dd/mm/yyyy')  >=  ( select max(data_movimento) from db5.contatori_movimenti cm1
-- and  to_date('dd/mm/yyyy','01/03/2012') >=  ( select max(data_movimento) from db5.contatori_movimenti cm1
                                                                                                                  where   cm1.codice_servizio='E'
                                                                                                                   and cm1.codice_gestione='UNRG'
                                                                                                                   and cm1.codice_allacciamento=cm.codice_allacciamento
                                                                                                                   and cm1.progressivo_utenza=cm.progressivo_utenza
                                                                                                                   and cm1.PROGRESSIVO_DIVISIONALE=cm.PROGRESSIVO_DIVISIONALE)
 and cm.codice_allacciamento=ut.codice_allacciamento
 and cm.progressivo_utenza=ut.progressivo_utenza 
 and cm.PROGRESSIVO_DIVISIONALE=0
 and ut.CODICE_MODELLO_CONTATORE_1 <>'TM80'
 and ut.CODICE_MODELLO_CONTATORE_1 not like 'M%'
 and ut.CODICE_MODELLO_CONTATORE_1 not like 'RT%'
  and ut.CODICE_MODELLO_CONTATORE_1 <> ' '
 and co.stato_contratto ='A'
 and co.codice_contratto=ut.codice_contratto_corr
                                                                                                                                                                                                                        
     